草庐IT

TypeScript 学习总结

全部标签

javascript - typescript 错误 : Reserved word 'this' used as name

我正在尝试获取thisNode.jsTypeScript定义可以正常工作,但WebStorm给了我一大堆错误,其中包含所有相同的消息:Reservedword'this'usedasname.ThisinspectionreportsonanyusesofJavaScriptreservedwordsbeingusedasaname.TheJavaScriptspecificationreservesanumberofwordswhicharecurrentlynotusedasJavaScriptkeywords.Usingthosewordsasidentifiersmayresu

javascript - TypeScript 接口(interface)是否应该在 *.d.ts 文件中定义

TypeScript新手问题。在我们的项目中,我们使用了一些外部JavaScript库,我们需要在其中添加*.d.ts文件。我理解这个用例以及我们需要这样做的原因。但是,对于我们自己定义的接口(interface),我的一位开发人员建议我们在*.d.ts文件中定义它们,这样我们就可以访问接口(interface)类型,而无需将其导入到需要使用的模块中例如,我们想为“错误优先回调”函数创建一个接口(interface),以便我们可以在许多领域重用它。所以不是这个...exportfunctionhelloWorldEventually(callback:(err:Error,result

javascript - Typescript/ES7 中异步/等待的有限并行性

我一直在尝试使用Typescript,但我现在对如何有效使用async/await有点困惑。我正在向数据库中插入一堆记录,我需要获取每次插入返回的ID列表。下面的简化示例一般有效,但它并不像我想要的那样优雅,而且它完全是顺序的。asyncfunctiongeneratePersons(){constnames=generateNames(firstNames,lastNames);letids=[]for(letnameofnames){constid=awaitdb("persons").insert({first_name:name.firstName,last_name:name

javascript - TypeScript类继承构造函数混淆

我正在学习EloquentJavascript这本书,但在章节结尾的练习中遇到了一些障碍。我很早就决定,我将主要使用TypeScript来解决vanillaJS之上的这些练习,只是为了让自己接触TS提供给我的额外功能。完整的练习可以在这里找到:http://eloquentjavascript.net/06_object.html#h_nLNNevzcF7在我看来,我应该基本上扩展作者在本章中定义的预先存在的类,我已尽最大努力用TypeScript重新编写以利用类://fromtextbook.functionrepeat(string:string,times:number):str

javascript - 创建可在浏览器和 nodejs 中使用的 typescript 库

我想创建一个可以在浏览器和nodejs中使用的库。为了争论起见,假设这是我的图书馆:exportdefaultclassMyClass{publicgetString():string{return"Message";}}目前浏览器不支持ES2015模块,我不想在浏览器中依赖requirejs或任何其他模块加载器-我希望仅通过使用包含生成的.js文件来使用这个库脚本标签。感觉用内部模块就可以实现我想要的东西(不想污染全局命名空间)。但是,当我将代码包装在namespace/module中时,我很难将其编译为commonjs模块。实现我想要的目标的正确方法是什么?或者,可能是,作为一个t

javascript - 我应该如何使用 typescript 中的 "pdf"包

我已经安装了pdf,包括使用的类型npminstall--savepdf@types/pdf不幸的是,我找不到任何关于如何使用它的文档。如果我这样做:import{PDFJS}from'pdf';PDFJS.getDocument(fileName)我得到:TyeError:Cannotread'getDocument'ofundefined那么我该如何初始化呢? 最佳答案 更新:自从写下这个答案后,类型定义已重命名以匹配NPM包,并添加了适当的导出定义,因此您可以忽略以下所有内容,只需npminstall--save-dev@类型

javascript - typescript 字符串到 bool 值

我正在尝试将字符串转换为bool值。有几种方法可以做到一种方法是letinput="true";letboolVar=(input==='true');这里的问题是我必须验证输入是真还是假。有没有更优雅的方式,而不是首先验证输入然后进行转换?在.NET中,我们有bool.TryParse如果字符串无效则返回false。typescript中是否有任何等价物? 最佳答案 你可以做这样的事情,你可以有三个状态。undefined表示该字符串不可解析为bool值:functionconvertToBoolean(input:string)

javascript - babel 装饰器和 TypeScript 的一样吗?

我经常使用TypeScript编写代码,但很少使用babel,我知道TypeScript如何在装饰器上工作,而babel也支持装饰器,它们的行为是否相同? 最佳答案 是的,它们是相同的,从某种意义上说它们产生相同的行为,但它们有不同的实现。两者都遵循ECMAScript规范并尽早为我们带来功能。您可以预期它们两者上的内容将来可能会受到节点或浏览器的支持。代码:functionf(){console.log("f():evaluated");returnfunction(target,propertyKey,descriptor){c

javascript - React JS/Typescript 中的空合并运算符

这个问题在这里已经有了答案:Safenavigationoperator(?.)or(!.)andnullpropertypaths(7个答案)ReplacementofElvisOperatorofAngular2inTypescript(3个答案)关闭4年前。我们在.NET中有Null合并运算符,我们可以按如下方式使用stringpostal_code=address?.postal_code;我们可以在ReactJS中做同样的事情吗?我发现我们可以用&&运算符做什么在address.ts文件中stringpostal_code=address&&address.postal_co

javascript - 从 typescript 使用 Facebook SDK

在我的网络应用程序中,我正在使用Typescript并想使用FBsdk函数示例:来自Typescript的api、login等。在编译使用FB.init()的typescript代码时,出现以下错误:Suppliedparametersdonotmatchanysignatureofcalltarget.Cannotfindname'FB'. 最佳答案 您可以使用现有的类型定义:https://github.com/borisyankov/DefinitelyTyped/blob/master/fbsdk/fbsdk.d.ts有关使